#if !defined(__DAEMON_SUB_PROCESS_H)
#define __DAEMON_SUB_PROCESS_H

#include <sys/types.h>

#define MAX_FAIL_COUNT 10 // 进程失败结束的最大次数
#define EXE_PATH "/usr/bin/gateway" // 开发板
// #define EXE_PATH "/home/xzf/桌面/gateway/gateway_test" // 测试

// 被守护的子进程信息结构体
typedef struct {
    pid_t pid;  // 进程id
    char *cmd_param; // 命令参数
    int fail_count; // 进程失败结束的次数
} SubProcess;

// 初始化子进程信息
SubProcess *daemon_sub_process_init(char *cmd_param);

// 检查并启动子进程
int daemon_sub_process_checkStart(SubProcess *sp);

// 停止子进程
void daemon_sub_process_stop(SubProcess *sp);


#endif // __DAEMON_SUB_PROCESS_H
